home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 1997 May / PC Plus Super CD Issue 127 (May 1997).iso / vcafe / samples.bin / degrees.java < prev    next >
Encoding:
Java Source  |  1996-09-04  |  2.3 KB  |  95 lines

  1. import java.awt.*;
  2.  
  3. public class degrees extends java.applet.Applet {
  4.  
  5.     boolean FSelected;
  6.  
  7.     public void init() {
  8.         resize(185, 100);
  9.  
  10.         //{{INIT_CONTROLS
  11.         setLayout(null);
  12.         addNotify();
  13.         resize(224,90);
  14.         edit1 = new java.awt.TextField(8);
  15.         edit1.reshape(24,30,66,18);
  16.         add(edit1);
  17.         group1 = new CheckboxGroup();
  18.         Fahrenheit = new java.awt.Checkbox("Fahrenheit", group1, true);
  19.         Fahrenheit.reshape(120,18,90,18);
  20.         add(Fahrenheit);
  21.         Celcius = new java.awt.Checkbox("Celcius", group1, false);
  22.         Celcius.reshape(120,48,90,18);
  23.         add(Celcius);
  24.         //}}
  25.  
  26.         FSelected = true;
  27.         edit1.requestFocus();
  28.  
  29.     }
  30.  
  31.     //{{DECLARE_CONTROLS
  32.     java.awt.TextField edit1;
  33.     java.awt.Checkbox Fahrenheit;
  34.     CheckboxGroup group1;
  35.     java.awt.Checkbox Celcius;
  36.     //}}
  37.  
  38.  
  39.     public boolean handleEvent(Event event) {
  40.         if (event.id == Event.ACTION_EVENT && event.target == Celcius) {
  41.                 clickedCelcius();
  42.                 return true;
  43.         }
  44.         else
  45.         if (event.id == Event.ACTION_EVENT && event.target == Fahrenheit) {
  46.                 clickedFahrenheit();
  47.                 return true;
  48.         }
  49.  
  50.         return super.handleEvent(event);
  51.     }
  52.  
  53.     public void clickedFahrenheit() {
  54.  
  55.         float degree;
  56.  
  57.         if(FSelected == true) return;
  58.  
  59.         try {
  60.             degree = (Float.valueOf(edit1.getText())).floatValue();
  61.         } catch(NumberFormatException e) { return; }
  62.  
  63.         if( degree <= 0 )
  64.             edit1.setBackground(Color.blue);
  65.         else if( degree >= 100 )
  66.                 edit1.setBackground(Color.red);
  67.              else edit1.setBackground(Color.white);
  68.  
  69.         edit1.setText(String.valueOf(1.8*degree+32));
  70.  
  71.         FSelected = true;
  72.  
  73.     }
  74.  
  75.     public void clickedCelcius() {
  76.  
  77.         float degree;
  78.  
  79.         if(FSelected == false) return;
  80.  
  81.         try {
  82.             degree = (Float.valueOf(edit1.getText())).floatValue();
  83.         } catch (NumberFormatException e) { return; }
  84.  
  85.         if( degree <= 32 )
  86.             edit1.setBackground(Color.blue);
  87.         else if( degree >= 212 )
  88.                 edit1.setBackground(Color.red);
  89.              else edit1.setBackground(Color.white);
  90.         edit1.setText(String.valueOf((degree-32.0)/1.8));
  91.  
  92.         FSelected = false;
  93.     }
  94. }
  95.